var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var People = /** @class */ (function () {
    function People(name) {
        this.clever = true;
        this.name = name;
    }
    People.prototype.sayName = function () {
        console.log("My name is " + this.name);
    };
    People.prototype.getName = function () {
        return this.name;
    };
    return People;
}());
console.log(People);
var p = new People("dd");
console.log(p);
p.getName();
console.log("--------------extends----------------");
var Chinese = /** @class */ (function (_super) {
    __extends(Chinese, _super);
    function Chinese() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Chinese.prototype.sayName = function () {
        console.log("我的名字叫 " + this.name);
    };
    Chinese.prototype.kongfu = function () {
        console.log("kongfu:  " + "太极");
    };
    return Chinese;
}(People));
console.log(Chinese);
var Ming = new Chinese("小明");
var Wang = new Chinese("小王");
Ming.sayName();
Ming.getName();
Ming.kongfu();
console.log(Ming);
console.log(" Ming 对象是 People  类实例化来的吗？ ", Ming instanceof People);
console.log(" Ming 对象是 Chinese 类实例化来的吗？ ", Ming instanceof Chinese);
console.log("--------------interface----------------");
var chineseTeacher = {
    subject: "chinese",
    level: "10",
    sayHi: function () {
        return "";
    }
};
// 声明文件不包含实现，它只是类型声明，把声明文件加入到 TypeScript 中
/// <reference path="./Calc.d.ts" />
// var obj = new Runoob.Calc();
// obj.doSum("Hello"); // 编译错误
// console.log(obj.doSum(10));
console.log(ddd);
// export default People
